﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CardTypes = Wormhole.Engine.CardLibrary.CardTypes;
using CardProperties = Wormhole.Engine.CardLibrary.CardProperties;

namespace Wormhole.Engine.CardLibrary.SG1.Cards.Villain.Adversary
{
	/// <author>Rodney McKay</author>
	/// <date>07 April 2008</date>
	/// <summary>
	/// Yu, The Great
	/// </summary>
	/// 
	/// <card>
	///		<title>Yu</title>
	///		<subtitle>The Great</subtitle>
	///		<cost>2</cost>
	///		<gameText>Yu gets difficulty +1 for each successful mission this turn.</gameText>
	/// 
	///		<lore>
	///			An advocate of status quo amont the System Lords, Yu's interest lie in
	///			distant areas of the galaxy. His conflicts with the Tau'ri have been limeted --
	///			typically when they've forced the issue.
	///		</lore>
	///		
	///		<collectorInfo>
	///			<expansion>1</expansion>
	///			<rarity>Common</rarity>
	///			<number>26</number>
	///		</collectorInfo>
	///		
	///		<traits>
	///			<trait>Adversary</trait>
	///			<trait>Goa'uld</trait>
	///		</traits>
	///		
	///		<skills>
	///			<culture>2</culture>
	///			<combat>2</combat>
	///		</skills>
	///		
	///		<reviveCost>3</reviveCost>
	/// </card>
	public class SG1C26 : CardTypes.Adversary
	{
		#region Properties

		#region Title
		/// <summary>
		/// The card title.
		/// </summary>
		public override string Title
		{
			get { return "Yu"; }
		}
		#endregion

		#region Subtitle
		/// <summary>
		/// Card Subtitle.
		/// </summary>
		public override string Subtitle
		{
			get { return "The Great"; }
		}
		#endregion

		#region Cost
		/// <summary>
		/// Card cost.
		/// </summary>
		public override int Cost
		{
			get { return 2; }
		}
		#endregion

		#region Game Text
		/// <summary>
		/// The game text.
		/// </summary>
		public override string GameText
		{
			get { return "Yu gets difficulty +1 for each successful mission this turn."; }
		}
		#endregion

		#region Lore
		/// <summary>
		/// The lore card text.
		/// </summary>
		public override string Lore
		{
			get 
			{ 
				return "An advocate of status quo amont the System Lords, Yu's interest lie in distant areas of the galaxy. His conflicts with the Tau'ri have been limeted -- typically when they've forced the issue."; 
			}
		}
		#endregion

		#region Traits
		private CardProperties.Traits _traits;
		/// <summary>
		/// The card traits.
		/// </summary>
		public override CardProperties.Traits Traits
		{
			get
			{
				if (this._traits == null)
				{
					this._traits = new CardProperties.Traits();
					this._traits.Add(CardProperties.Trait.Adversary);
					this._traits.Add(CardProperties.Trait.Goauld);
				}

				return this._traits;
			}
		}
		#endregion

		#region Skills
		private CardProperties.Skills _skills;
		/// <summary>
		/// The skills the character has.
		/// </summary>
		public override CardProperties.Skills Skills
		{
			get
			{
				if (this._skills == null)
				{
					this._skills = new CardProperties.Skills();
					this._skills.Culture = 2;
					this._skills.Science = null;
					this._skills.Combat = 2;
					this._skills.Ingenuity = null;
				}

				return this._skills;
			}
		}
		#endregion

		#region Collector Info
		private CardProperties.CollectorInfo _collectorInfo;
		/// <summary>
		/// The collector information.
		/// </summary>
		public override CardProperties.CollectorInfo CollectorInfo
		{
			get
			{
				if (this._collectorInfo == null)
				{
					this._collectorInfo = new CardProperties.CollectorInfo();
					this._collectorInfo.Expansion = 1;
					this._collectorInfo.Rarity = CardProperties.Rarity.Common;
					this._collectorInfo.Number = 26;
				}

				return this._collectorInfo;
			}
		}
		#endregion

		#region Revive Cost
		/// <summary>
		/// The adversary revice cost.
		/// </summary>
		public override int ReviveCost
		{
			get { return 3; }
		}
		#endregion

		#region Image URI
		private Uri _imageUri;
		/// <summary>
		/// The location of the card image.
		/// </summary>
		public override Uri ImageUri
		{
			get
			{
				if (this._imageUri == null)
				{
					this._imageUri = new Uri("pack://application:,,,/Wormhole.Engine.CardLibrary.SG1;component/Images/Villain/Adversary/1C26.jpg", UriKind.Absolute);
				}

				return this._imageUri;
			}
		}
		#endregion

		#endregion

		#region Constructor
		/// <summary>
		/// Initialize a new instance of the class.
		/// </summary>
		/// <param name="owner">The card owner.</param>
		public SG1C26(Player.Player owner)
			: base(owner)
		{

		}
		#endregion
	}
}
